package com.noodles.mall.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.noodles.mall.entity.Cart;
import com.noodles.mall.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.noodles.mall.entity.User;
import com.noodles.mall.vo.PageVo;

import java.util.List;

public interface OrderService extends IService<Order> {
    /** 增加 **/
    Order insert(User user,List<Cart> cartList);

    /** 删除: 单个或批量 **/
    boolean delete(List<Integer> ids);

    /** 修改: 根据id修改所有 **/
    boolean update(Order order);

    /** 单个查询: id **/
    Order selectOne(Integer id);

    /** 单个查询: code **/
    Order selectOne(String code);

    /** 单个查询: 订单数量 **/
    Integer selectCount();

    /** 分页查询: wrapper **/
    PageVo selectPage(Long current, Long size, LambdaQueryWrapper<Order> wrapper);

    /** 分页查询: 无 **/
    PageVo selectPage(Long current, Long size);

    /** 分页查询:  userId **/
    PageVo selectPage(Long current, Long size, Integer userId);

    /** 分页查询: word **/
    PageVo selectPage(Long current, Long size, String word);

}
